// IMediaStreamHandler.hh
// 媒体流处理器抽象接口
#ifndef _IMEDIA_STREAM_HANDLER_HH
#define _IMEDIA_STREAM_HANDLER_HH

#include <stddef.h>

// 媒体流处理器抽象接口
class IMediaStreamHandler {
public:
    virtual ~IMediaStreamHandler() = default;
    
    // 初始化媒体流处理器
    virtual bool initialize() = 0;
    
    // 更新参数集（SPS/PPS）
    virtual void updateParameterSets(const unsigned char* sps, size_t spsSize,
                                     const unsigned char* pps, size_t ppsSize) = 0;
    
    // 通知有新帧可用
    virtual void notifyNewFrameAvailable() = 0;
    
    // 获取SPS参数
    virtual const unsigned char* getSPS() const = 0;
    virtual size_t getSPSSize() const = 0;
    
    // 获取PPS参数
    virtual const unsigned char* getPPS() const = 0;
    virtual size_t getPPSSize() const = 0;
};

#endif // _IMEDIA_STREAM_HANDLER_HH

